package com.youweather.sgg.test;

import static org.junit.Assert.*;

import org.junit.Before;
import org.junit.Test;

import com.youweather.sgg.CheckInVerify;

public class testCheckInVerify {

		CheckInVerify c;
		String actual;
		int temperatura;
		
	 	/* (non-Javadoc)
		 * @see android.test.ActivityInstrumentationTestCase2#setUp()
		 */
		@Before
		public void setUp() throws Exception {
			c = new CheckInVerify();
		}

		/* (non-Javadoc)
		 * @see android.test.ActivityInstrumentationTestCase2#tearDown()
		 */
		
		
		//Test sui campi
		public void testDeiCampiInseritiInModoCorretto(){
			
		}
		
		/*Tests sul campo NOME*/ 
		public void testCampoNomeNonVuoto(){
			actual = "Antonio Rossi";
			
			assertTrue(c.CheckIsEmpty(actual));
		}

		
		@Test public void testCampoNomeVuoto(){
			
			if(!c.CheckIsEmpty(" ")) fail();
		}
		
		@Test public void testCampoNomeMassimaLunghezzaConsentita(){
			
			if(c.CheckLenghtName("MarioMarioMarioMarioMarioMarioMarioMarioMarioMarioMarioMario")) fail();
		}
		
		@Test public void testCampoNomeMinimaLunghezzaConsentita(){
			if(c.CheckLenghtName("Ma")) fail();
		}
		
		@Test public void testCampoNomeNonContieneUnicamenteCaratteriSpeciali(){
			if(c.CheckName("ò@$")) fail();
		}
		
		@Test public void testCampoNomeNonContieneCaratteriSpecialiInsiemeACaratteriNormali(){
			if(c.CheckName("Marco_Esposito$")) fail();
		}
		
		@Test public void testCampoNomeNonContieneCaratteriSpecialiInsiemeANumeri(){
			if(c.CheckName("123_7&")) fail();
		}
		
		@Test public void testCampoNomeNonContieneCaratteriSpecialiInsiemeANumeriELettere(){
	    	if(c.CheckName("Antonio56($)!#")) fail();
	    }
		
		@Test public void testCampoNomeNonContieneSpaziECaratteriSpeciali(){
	    	if(c.CheckName("   _$  !")) fail();
	    }
		
		@Test public void testCampoNomeNonContieneSoloNumeri(){
	    	if(c.CheckName("1234567890")) fail();
	    }
		
		@Test public void testCampoNomeNonContieneSoloSpazi(){
	    	if(c.CheckName("        ")) fail();
	    }
		
		@Test public void testCampoNomeNonContieneLettereAccentate(){
	    	if(c.CheckName("Carlòòò")) fail();
	    }
		
		@Test public void testCampoNomeContieneLettereMaiuscoleEMinuscole(){
	    	if(!c.CheckName("MarcoantoNIO")) fail();
	    }
		
		@Test public void testCampoLunghezzaNomeCorretta(){
			actual = "Mario Scognamiglio";
			
			assertTrue(c.CheckLenghtName(actual));
		}
		

		@Test public void testCampoNomeCorretto(){
			
			actual = "Provaprova";
			
			
			assertTrue(c.CheckName(actual));
		}
		
	   

	    /*Tests sul campo TEMPERATURA*/
	    
		@Test public void testCampoTemperaturaNelLimite (){
	    	if (!c.CheckTemperature("0")) fail();
	    }
	    
		@Test public void testCampoTemperatureAlDiFuoriDelLimiteSuperiore(){
	    	if(c.CheckTemperature("1000")) fail();
	    }
	    
		@Test public void testCampoTemperatureAlLimiteSuperiore(){
	    	if(!c.CheckTemperature("100")) fail();
	    }
	    
		@Test public void testCampoTemperaturaAlBordoDelLimiteSuperiore (){
	    	if(!c.CheckTemperature("99")) fail();
	    }
	    
	        
		@Test public void testCampoTemperaturaAlDifuoriDelLimiteInferiore(){
	    	if(c.CheckTemperature("-1000")) fail();
	    }
	    
		@Test public void testCampoTemperatureAlDiFuoriDelLimiteMaggiore(){
	    	if(c.CheckTemperature("459")) fail();
	    }
	    
		@Test public void testCampoTemperaturaAlBordoDelLimiteInferiore (){
	    	if(c.CheckTemperature("458")) fail();
	 	
	    }
	    
		@Test public void testCampoTemperaturaSenzaLettere(){
	    	if(c.CheckTemperatureIsCorrect("aaa")) fail();
	    }
	    
	    
	    /*Tests sul campo CONDIZIONI*/
		@Test public void testCampoLunghezzaCondizioniMinimaMassima(){
			actual = "Coperto con sole a tratti";
			
			assertTrue(c.CheckLenghtConditions(actual));
		}
		

}
